﻿using System.Collections.Generic;
using System.Linq;
using Rendiciones.Logica.Modelos;
using Tesla.Excepciones;
using Tesla.Proveedores;
using Tesla.Validador;

namespace Rendiciones.Logica.Servicios
{
    public interface IServBancos
    {
        List<Banco> Buscar();
    }

    internal class ServBancos : IServBancos
    {
        private readonly IProveedor _proveedor;

        public ServBancos(IProveedor provedor)
        {
            _proveedor = provedor;
        }
        
        public List<Banco> Buscar()
        {
            try
            {
                var bancos = _proveedor.Search(new Banco()).ToList();
                return bancos;
            }
            catch (NoHuboResultadosException)
            {
                return new List<Banco>();
            }
        }
    }
}